﻿using UnityEngine;
using System.Collections;
using GameData;

namespace Cmd
{

    /// <summary>
    /// 心跳
    /// </summary>
    public class HeartbeatSend : CmdBase<UserInfo, NumAllInfo>
    {

        public HeartbeatSend() : base("CS心跳") { }
    }

    /// <summary>
    /// 发送帐号密码 
    /// </summary>
    public class RegistSend : CmdBase<UserInfo, bool>
    {
        public RegistSend() : base("CS注册") { }

    }


    public class LoginSend : CmdBase<UserInfo, RoleInfo>
    {
        public LoginSend() : base("CS登录") { }


    }


    public class ReceiveNumSend:CmdBase<UserInfo,NumberInfo>
    {
        public ReceiveNumSend() : base("CS领取") { }
    }

    public class ReceiveCountSend : CmdBase<UserInfo, NumAllInfo>
    {
        public ReceiveCountSend() : base("CS统计数据") { }
    }
    /// <summary>
    /// 抽号
    /// </summary>
    public class PickNumSend : CmdBase<UserInfo, PickNumInfo>
    {
        public PickNumSend() : base("CS抽号") { }
    }

    public class PickAllInfoSend : CmdBase<UserInfo, PickAllNumInfo>
    {
        public PickAllInfoSend() : base("CS排号信息") { }
    }
    /// <summary>
    /// 处理
    /// </summary>
    public class DueNumberSend : CmdBase<NextNumber, NumberInfo>
    {
        public DueNumberSend() : base("CS处理") { }
    }

    //
    public class CompleteNumberSend : CmdBase<NextNumber, NumberInfo>
    {
        public CompleteNumberSend() : base("CS完成办理") { }
    }

    public class CancleNumberSend : CmdBase<NextNumber, NumberInfo>
    {
        public CancleNumberSend() : base("CS放弃办理") { }
    }

    public class DueNumberListSend : CmdBase<UserInfo, DueNuminfos>
    {
        public DueNumberListSend() : base("CS处理名单") { }
    }

    public class SetWindowNumSend : CmdBase<NextNumber, NumberInfo>
    {
        public SetWindowNumSend() : base("CS设置窗口") { }
    }

    public class CallNumberSend : CmdBase<CallNumber, CallNumber>
    {
        public CallNumberSend() : base("CS呼叫") { }
    }

    public class GetAllNumberSend : CmdBase<UserInfo, AllNumbers>
    {
        public GetAllNumberSend() : base("CS所有名单") { }
    }

    public class AddCurlNumberSend : CmdBase<NumberData, NumAllInfo>
    {
        public AddCurlNumberSend() : base("CS添加数量") { }
    }

    public class SetOncePickNumSend : CmdBase<NumberData, NumAllInfo>
    {
        public SetOncePickNumSend() : base("CS一次抽取数") { }
    }

    public class SetNumToVIPSend : CmdBase<SetNumToVIP, NumListData>
    {
        public SetNumToVIPSend() : base("CS添加VIP") { }
    }

    public class GetRecAndVIPNumSend : CmdBase<UserInfo, NumListData>
    {
        public GetRecAndVIPNumSend() : base("CS取号和VIP信息") { }
    }

    public class CleanGlobalSend : CmdBase<UserInfo, RoleInfo>
    {
        public CleanGlobalSend() : base("CS清空数据") { }
    }

    public class CreateNumByNum : CmdBase<NumberData, NumListData>
    {
        public CreateNumByNum() : base("CS新增号码数量") { }
    }


    public class SetSoundType : CmdBase<SoundType, SoundType>
    {
        public SetSoundType() : base("CS设置语种") { }
    }

    public class GetSoundType : CmdBase<UserInfo, SoundType>
    {
        public GetSoundType() : base("CS获取语种") { }
    }


    public class SetRecType : CmdBase<RecNumType, RecNumType>
    {
        public SetRecType() : base("CS设置取号方式") { }
    }

    public class GetRecNumType : CmdBase<UserInfo, RecNumType>
    {
        public GetRecNumType() : base("CS获取取号方式") { }
    }


    public class GetRecNumToNUm : CmdBase<CheckNum, AllNumbers>
    {
        public GetRecNumToNUm() : base("CS信息抽号") { }
    }


    public class SetDataInfo : CmdBase<DataInfo, DataInfo>
    {
        public SetDataInfo() : base("CS设置数据") { }
    }

    public class GetDataInfo : CmdBase<UserInfo, DataInfo>
    {
        public GetDataInfo() : base("CS获取数据") { }
    }

    public class NewCustomerInfo : CmdBase<CustomerData, NumberData>
    {
        public NewCustomerInfo() : base("CS新增客户") { }
    }

    public class TestGetAllNumer : CmdBase<UserInfo, ResponserData>
    {
        public TestGetAllNumer() : base("CS领取所有号码") { }
    }
    //

    public class ClearPickNum : CmdBase<DataInfo, PickNumInfo>
    {
        public ClearPickNum() : base("CS清空抽号") { }
    }

    public class GetPickNum : CmdBase<DataInfo, PickNumInfo>
    {
        public GetPickNum() : base("CS获取队列信息") { }
    }

    public class GetCustomerInfo : CmdBase<DataInfo, CustomerSignDataList>
    {
        public GetCustomerInfo() : base("CS获取客户情况") { }
    }


    //=========================================================================
    //
    //推送信息
    //
    //=========================================================================
    public class S2C_NumberCountInfo : CmdBase<UserInfo, NumAllInfo>
    {
        public S2C_NumberCountInfo() : base("SC统计数据")
        {

        }
    }


    public class S2C_SetSoundType : CmdBase<SoundType, SoundType>
    {
        public S2C_SetSoundType() : base("SC设置语种") { }
    }

    public class S2C_PickQueueNum : CmdBase<UserInfo, PickNumInfo>
    {
        public S2C_PickQueueNum() : base("SC队列信息") { }
    }


    public class S2C_SetRecType : CmdBase<RecNumType, RecNumType>
    {
        public S2C_SetRecType() : base("SC设置取号方式") { }
    }


    public class S2C_SetDataInfo : CmdBase<UserInfo, SetDataInfoDic>
    {
        public S2C_SetDataInfo() : base("SC设置数据") { }
    }


    public class S2C_CallNumber : CmdBase<CallNumber, CallNumber>
    {
        public S2C_CallNumber() : base("SC叫号") { }
    }

    public class S2C_PickNumInfo : CmdBase<UserInfo, PickNumInfo>
    {
        public S2C_PickNumInfo() : base("SC抽号") { }
    }

    public class S2C_PickAllInfo : CmdBase<UserInfo, PickAllNumInfo>
    {
        public S2C_PickAllInfo() : base("SC排号信息") { }
    }

    public class S2C_DueNumbers : CmdBase<UserInfo, DueNuminfos>
    {
        public S2C_DueNumbers() : base("SC处理名单") { }
    }

    public class S2C_RecAndVIPNum : CmdBase<UserInfo, NumListData>
    {
        public S2C_RecAndVIPNum() : base("SC取号和VIP信息") { }
    }



}